home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.esc;
-
- import com.extensibility.app.BaseDocument;
- import com.extensibility.app.Desktop;
- import com.extensibility.app.UI;
- import java.awt.Cursor;
- import java.io.File;
- import java.text.DateFormat;
- import java.util.Date;
- import java.util.Enumeration;
- import java.util.EventObject;
- import java.util.Vector;
- import javax.swing.Icon;
- import javax.swing.ImageIcon;
- import javax.swing.JTree;
- import javax.swing.event.TreeExpansionEvent;
- import javax.swing.event.TreeExpansionListener;
- import javax.swing.tree.TreePath;
-
- public class SimpleTreeModel extends AbstractTreeTableModel implements TreeTableModel, TreeExpansionListener {
- protected String[] cNames = new String[]{UI.getString("esc.escwindow.table.header.valid"), UI.getString("esc.escwindow.table.header.name"), UI.getString("esc.escwindow.table.header.type"), UI.getString("esc.escwindow.table.header.date"), UI.getString("esc.escwindow.table.header.path")};
- protected Class[] cTypes = new Class[]{Class.forName("javax.swing.ImageIcon"), Class.forName("com.extensibility.esc.TreeTableModel"), Class.forName("java.lang.String"), Class.forName("java.lang.String"), Class.forName("java.lang.String")};
- private Icon icoSchValid;
- private Icon icoSchNotValid;
- private Icon icoSchNoState;
- private Icon icoDir;
- ESCDocument doc;
-
- public SimpleTreeModel(TreeNode var1) {
- super(var1);
- }
-
- public SimpleTreeModel(ESCDocument var1) {
- super(new TreeNode(String.valueOf(String.valueOf("<").concat(String.valueOf(((BaseDocument)var1).getName()))).concat(String.valueOf(">"))));
- this.icoSchValid = UI.getIcon("validate_icon_clear.gif");
- this.icoSchNotValid = UI.getIcon("not_validate_graphic.gif");
- this.icoSchNoState = UI.getIcon("what_is_this_graphic.gif");
- this.icoDir = new ImageIcon("");
- this.doc = var1;
- this.initialize();
- }
-
- public void initialize() {
- Enumeration var1 = this.doc.getFiles().elements();
-
- while(var1 != null && var1.hasMoreElements()) {
- ESCDocument.ESCFile var2 = (ESCDocument.ESCFile)var1.nextElement();
- TreeNode var3 = new TreeNode(var2, (TreeNode)((AbstractTreeTableModel)this).getRoot());
- if (var2.isUserSelected()) {
- this.addNode(((AbstractTreeTableModel)this).getRoot(), var3);
- }
- }
-
- }
-
- public Object addNode(Object var1, Object var2) {
- if (var1 instanceof TreeNode) {
- TreeNode var3 = (TreeNode)var1;
- if (var2 instanceof TreeNode) {
- var3.addChild(var2);
- ((AbstractTreeTableModel)this).fireTreeNodesInserted(this, this.getPathToRoot(var3), new int[]{var3.getChildCount() - 1}, new Object[]{var2});
- }
-
- return var3;
- } else {
- return null;
- }
- }
-
- public void removeNode(Object[] var1) {
- int var2 = var1.length;
- if (var2 > 1) {
- this.removeNode(var1[var2 - 1], var1[var2 - 2]);
- }
-
- }
-
- public void removeNode(Object var1, Object var2) {
- if (var1 instanceof TreeNode) {
- TreeNode var3 = (TreeNode)var1;
- if (var2 instanceof TreeNode) {
- var3.removeChild((TreeNode)var2);
- }
- }
-
- }
-
- public void removeAll() {
- ((TreeNode)super.root).removeAllChildren();
- }
-
- public Object[] getPathToRoot(Object var1) {
- if (!(var1 instanceof TreeNode)) {
- return null;
- } else {
- Vector var2 = new Vector(10);
- var2.addElement(var1);
-
- for(TreeNode var3 = ((TreeNode)var1).getParent(); var3 != null; var3 = var3.getParent()) {
- var2.addElement(var3);
- }
-
- int var4 = var2.size();
- Object[] var5 = new Object[var4];
-
- for(int var6 = var4 - 1; var6 >= 0; --var6) {
- var5[var4 - var6 - 1] = var2.elementAt(var6);
- }
-
- return var5;
- }
- }
-
- public Object getChild(Object var1, String var2) {
- return var1 instanceof TreeNode ? ((TreeNode)var1).getChild(var2) : null;
- }
-
- protected ESCDocument.ESCFile getFile(Object var1) {
- if (var1 != null && var1 instanceof TreeNode) {
- TreeNode var2 = (TreeNode)var1;
- return var2.getFile();
- } else {
- return null;
- }
- }
-
- public Object[] getChildren(Object var1) {
- TreeNode var2 = (TreeNode)var1;
- return var2.getChildren();
- }
-
- public int getChildCount(Object var1) {
- Object[] var2 = this.getChildren(var1);
- return var2 == null ? 0 : var2.length;
- }
-
- public Object getChild(Object var1, int var2) {
- return this.getChildren(var1)[var2];
- }
-
- public boolean isLeaf(Object var1) {
- ESCDocument.ESCFile var2 = this.getFile(var1);
- return var2 == null ? false : ((File)var2).isFile() || !((File)var2).exists();
- }
-
- public int getColumnCount() {
- return this.cNames.length;
- }
-
- public String getColumnName(int var1) {
- return this.cNames[var1];
- }
-
- public Class getColumnClass(int var1) {
- return this.cTypes[var1];
- }
-
- public Object getValueAt(Object var1, int var2) {
- TreeNode var3 = (TreeNode)var1;
- ESCDocument.ESCFile var4 = this.getFile(var1);
- var4 = this.doc.factoryESCFile(var4, true);
- if (!((File)var4).exists() && !var4.isUserSelected()) {
- TreeNode var5;
- for(var5 = var3.getParent(); !var5.getFile().exists() && !var5.equals((TreeNode)super.root); var5 = var5.getParent()) {
- }
-
- var5.removeChild(var3);
- this.removeFileFromDoc(var4);
- System.out.println(" fireTreeStructureChanged because of !file.exists() && !file.isUserSelected() ");
- }
-
- try {
- switch (var2) {
- case 0:
- if (!((File)var4).exists()) {
- Icon var14 = this.icoSchNoState;
- return var14;
- }
-
- if (((File)var4).isFile()) {
- Icon var13 = var4.isVirgin() ? this.icoSchNoState : (var4.isValid() ? this.icoSchValid : this.icoSchNotValid);
- return var13;
- }
-
- Icon var12 = this.icoDir;
- return var12;
- case 1:
- String var6 = var3.isRoot() ? "" : ((File)var4).getName();
- return var6;
- case 2:
- String var7 = var3.isRoot() ? "Project" : var4.getInfo();
- return var7;
- case 3:
- if (var3.isRoot()) {
- String var16 = "";
- return var16;
- }
-
- if (((File)var4).exists() && !((File)var4).isDirectory()) {
- String var15 = var4.isVirgin() ? "" : this.getDateFormated(var4.getValidationDate());
- return var15;
- }
-
- String var8 = "";
- return var8;
- case 4:
- String var9 = var3.isRoot() ? "" : ((File)var4).getAbsolutePath();
- return var9;
- }
- } catch (SecurityException var10) {
- }
-
- return null;
- }
-
- public void treeCollapsed(TreeExpansionEvent var1) {
- TreePath var2 = var1.getPath();
- TreeNode var3 = (TreeNode)var2.getLastPathComponent();
- if (!var3.equals((TreeNode)((AbstractTreeTableModel)this).getRoot())) {
- ESCDocument.ESCFile var4 = this.getFile(var3);
- var4.setExpanded(false);
- }
-
- }
-
- public void treeExpanded(TreeExpansionEvent var1) {
- Object var2 = ((EventObject)var1).getSource();
- TreePath var3 = var1.getPath();
- TreeNode var4 = (TreeNode)var3.getLastPathComponent();
- if (!var4.equals((TreeNode)((AbstractTreeTableModel)this).getRoot())) {
- Object[] var5 = var4.getChildren();
-
- for(int var6 = 0; var6 < var5.length; ++var6) {
- ESCDocument.ESCFile var7 = ((TreeNode)var5[var6]).getFile();
- if (!((File)var7).exists()) {
- this.removeFileFromDoc(var7);
- ((AbstractTreeTableModel)this).fireTreeNodesRemoved(this, this.getPathToRoot(var4), new int[]{var6}, new Object[]{var5[var6]});
- var4.removeChild(var5[var6]);
- }
- }
-
- ESCWindow var8 = (ESCWindow)Desktop.getFrontDocWindow();
- var8.setCursor(Cursor.getPredefinedCursor(3));
- var8.setBlockCursor(true);
- this.expandNode(var4, var4, var4.getFile().isRecursive());
- ((JTree)var2).setSelectionPath(var3);
- var8.setBlockCursor(false);
- var8.setCursor(Cursor.getPredefinedCursor(0));
- }
-
- }
-
- public void expandNode(TreeNode var1, TreeNode var2, boolean var3) {
- ESCDocument.ESCFile var4 = this.getFile(var1);
- var4.setExpanded(true);
- Vector var5 = FileHandler.list(var4, ESCApplication.getSupportedFlavors());
-
- for(int var6 = 0; var6 < var5.size(); ++var6) {
- ESCDocument.ESCFile var7 = this.doc.factoryESCFile((File)var5.elementAt(var6), true);
- TreeNode var8 = new TreeNode(var7, var1);
- if (((File)var7).isFile() && !var2.containsChild(var8.getID())) {
- this.addNode(var2, var8);
- } else if (((File)var7).isDirectory() && var3) {
- this.expandNode(new TreeNode(var7, var8), var2, var3);
- }
- }
-
- }
-
- protected String getDateFormated(Date var1) {
- return String.valueOf(String.valueOf(DateFormat.getDateInstance(3).format(var1)).concat(String.valueOf(" "))).concat(String.valueOf(DateFormat.getTimeInstance(3).format(var1)));
- }
-
- private void removeFileFromDoc(ESCDocument.ESCFile var1) {
- this.doc.removeFile(((File)var1).getAbsolutePath());
- }
- }
-